/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package DAO;
import Classes.EstadoClass;
import Classes.ProdutoClass;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
/**
 *
 * @author Carlos Schaefer
 */
public class MRPDAO {
    private Session session;
    
    public MRPDAO(){
            session = Util.HibernateUtil.getSessionFactory().openSession(); 
            }
    
    
    
    public List<ProdutoClass> ListarProduto(){
        Query qu = session.createQuery("FROM ProdutoClass");
        return qu.list();
        }    
    
    public Integer ProdutoNaSemana(int ano, int codigoProduto, int semana) {
        Query sql = session.createSQLQuery("Select * from tbl_produtopsemana where Ano="+ano+" and numerosemana = "+semana+" and seq_Produto = "+codigoProduto);
        List resultados = sql.list();

        int h = 0;
        for (int j = 0; j < resultados.size(); j++) {
            try {
                
                h=h+1;
                
            } catch (Exception hx) {
                System.err.println("Initial SessionFactory creation failed." + hx);
                //JOptionPane.showMessageDialog(this, "Erro");
            }
        }
        
        return h;   
        
        
        
        
        }

    public List<Object[]> ListarMateriaPrima(int i) {
        String hql = (" SELECT tbl_vsvprodutomateriaprima.seq_MateriaPrima, tbl_materiaprima.descricao, tbl_vsvprodutomateriaprima.quantidade "
                    + " FROM tbl_vsvprodutomateriaprima "
                    + " inner join tbl_materiaprima ON (tbl_materiaprima.id = tbl_vsvprodutomateriaprima.seq_MateriaPrima) "
                    + " where seq_Produto = " + i);
             
             
              
        Query query = session.createSQLQuery(hql);


        return query.list();
        
        
    }
    
    
        public List<Object[]> materiaprimapertence(int materiaprima) {
        String hql = (" Select tbl_materiaprima.id, tbl_materiaprima.descricao, tbl_vsvprodutomateriaprima.seq_Produto "
                    + " from tbl_materiaprima "
                    + " inner join tbl_vsvprodutomateriaprima ON(tbl_vsvprodutomateriaprima.seq_MateriaPrima = tbl_materiaprima.id) "
                    + " where tbl_materiaprima.id =  " + materiaprima + " "
                    + " order by tbl_materiaprima.id, tbl_vsvprodutomateriaprima.seq_Produto");
             
             
              
        Query query = session.createSQLQuery(hql);


        return query.list();
        
        
    }

    public List<Object[]> materiaprimas() {
        
        String hql = (" Select tbl_materiaprima.id, tbl_materiaprima.descricao, tbl_vsvprodutomateriaprima.seq_Produto "
                    + " from tbl_materiaprima "
                    + " inner join tbl_vsvprodutomateriaprima ON(tbl_vsvprodutomateriaprima.seq_MateriaPrima = tbl_materiaprima.id) "
                    + " order by tbl_materiaprima.id, tbl_vsvprodutomateriaprima.seq_Produto");
             
             
              
        Query query = session.createSQLQuery(hql);


        return query.list();
        
    }
    
    
    
        
        
    
    
}